import { defineStore } from 'pinia'
import { ref } from 'vue'
import type { User } from '@/types/user'

// 创建用户信息仓库 使用Composing Stores
const useUserStore = defineStore(
  'user',
  () => {
    // 用户信息
    const user = ref<User>()
    // 修改用户信息
    const updateUserInfo = (userInfo: User) => {
      user.value = userInfo
    }
    // 移除用户信息
    const removeUserInfo = () => {
      user.value = undefined
    }
    // 记录当前路由上的returnURL
    const returnURL = ref('')
    const updateReturnURL = (url: string) => {
      returnURL.value = url
    }
    return { user, updateUserInfo, removeUserInfo, updateReturnURL, returnURL }
  },
  {
    persist: true
  }
)

export { useUserStore }
